import java.util.*;

public class StageTest {


    public static void main(String[] args) {
        func();
        System.out.println("after try catch");
    }
    public static void func() {
        int[] arr = {1, 2, 3};
        System.out.println(arr[100]);
    }
    // 执行结果
   /* Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100
    at demo02.Test.func(Test.java:14)
    at demo02.Test.main(Test.java:8)*/

    public static void main4(String[] args) {
        try {
            func();
        } catch (ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
        }
        System.out.println("after try catch");
    }
    /*public static void func() {
        int[] arr = {1, 2, 3};
        System.out.println(arr[100]);
    }*/
// 直接结果
    /*java.lang.ArrayIndexOutOfBoundsException: 100
    at demo02.Test.func(Test.java:18)
    at demo02.Test.main(Test.java:9)
    after try catch*/

    public static void main3(String[] args) {
        try{
            int[] arr = {1,2,3};
            arr[100] = 10;
            arr[0] = 10;
        }catch (ArrayIndexOutOfBoundsException e){
            System.out.println(e);
        }finally {
            System.out.println("finally中的代码一定会执行");
        }
        System.out.println("如果没有抛出异常，或者异常被处理了，try-catch后的代码也会执行");
    }


    //每组数据一行，按字符串原有的字符顺序，输出字符集合，即重复出现并靠后的字母不输出。
    public static void main2(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String str=in.next();
            func2(str);
        }
    }
    public static void func2(String str){
        StringBuilder stb=new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
              char w=str.charAt(i);
              if (stb.indexOf(w+"")==-1){
                  stb.append(w);
              }
            }
        System.out.println(stb.toString());
    }


    //本次笔试中，这是我的方法，如果删除会出现如果一个字符串有连续“三个”相同的字符就会只删除一个
    public static void func1(String str){
        StringBuilder stb=new StringBuilder(str);
        for (int i = 0; i < str.length(); i++) {
            for (int j = i+1; j < stb.length(); j++) {
                if(stb.charAt(i)==stb.charAt(j)){
                    stb.deleteCharAt(j);
            }
        }
    }
        System.out.println(stb.toString());
    }
}




/*class func(){
    public String setstring (String str) {
        String[] arr= new String[str.length()];
        for (int i = 0; i < str.length(); i++) {
            arr[i]= String.valueOf(str.charAt(i));
        }
        for (int j = 0; j < str.length(); j++) {
            for (int k = i+1; k < str.length(); k++) {
                if (arr[j]==arr[k]){
                    for (int m = k; m < str.length(); m++) {
                        String temp=arr[m-1];
                        arr[m-1]=arr[m];
                        arr[m]=null;
                    }

                }
            }
        }
        return arr.toString();
    }
}*/
